const fs = require("fs");

// console.log(fs);

// 增 & 改
// fs.writeFile(参数1, 参数2, 参数3);
// 参数1：要写入的文件路径和文件名
// 参数2：要写入的文件内容
// 参数3：回调函数，表示写入结束后要执行的功能
    // 参数：报错信息
        // 有报错，失败
        // 没报错，成功
// 异步的写入：只能在回调函数中，获取到结束状态
// fs.writeFile("./hello.txt", "这是通过node的fs模块创建的记事本", err=>{
//     console.log(err);
// })
// 同步的写入：当前代码之后，即为写入结束，失败会报错
// fs.writeFileSync("./world.txt", "这是还是通过node的fs模块写入的文件");
// console.log("写入结束")

// 改名字
// fs.rename(参数1,参数2,参数3)
// 参数1：老名字
// 参数2：新名字
// 参数3：回调函数，表示修改结束后要执行的功能
//     参数：报错信息
//         有报错，失败
//         没报错，成功
// 异步的改名字
// fs.rename("./hello.txt", "./hahahahha.txt", err=>{
//     console.log(err)
// })
// try {
//     同步的改名字
//     fs.renameSync("./hello.txt", "./hahahahha.txt")
// } catch (error) {
//     console.log(error)
// }

// 删
// fs.unlink(参数1,参数2)
// 参数1：要删除的文件的路径
// 参数2：回调函数，表示删除结束后要执行的功能
//     参数：报错信息
//         有报错，失败
//         没报错，成功
// 异步的删除
// fs.unlink("./world.txt", err=>{
//     console.log(err)
// })
// 同步的删除
// fs.unlinkSync("./hahahahha.txt");
// console.log("删除结束");


// 查
// fs.readFile(参数1,参数2,参数3)
// 参数1：要读的文件路径
// 参数2：读到的内容的字符编码，可省略
// 参数3：回调函数，表示读完之后要执行的功能
    // 参数1：报错信息
    // 参数2：读取的文件的内容
// 异步的读文件
// fs.readFile("./hello.txt", "utf-8", (err, data)=>{
//     if(err){
//         console.log(err);
//     }else{
//         console.log(data);
//     }
// })
// 同步的读
// const data = fs.readFileSync("./hello.txt","utf-8");
// console.log(data)



// 在文件原有内容的基础上增加新内容
// 先读
let data = fs.readFileSync("./hello.txt", "utf-8");
// 获取到数据后，增加新数据
data += "hahahahha";
// 再写
fs.writeFile("./hello.txt", data, err=>{
    console.log(err);
})


